<!--
 * @Author: 谢陈洁
 * @Date: 2025-05-26 14:17:27
 * @LastEditors: 谢陈洁
 * @LastEditTime: 2025-07-14 14:35:13
 * @Description: file content
-->
<template>
  <el-image :src="newSrc" crossorigin="anonymous" v-bind="$attrs"></el-image>
</template>
<script setup lang="ts">
  const props = defineProps<{
    src: string
  }>()

  const newSrc = computed(() => {
    if (!props.src) return ''
    // 如果 src 是以 http 开头的，则直接返回
    if (props.src.startsWith('http')) {
      return props.src
    }
    // 本地路径处理（适用于 Vite 构建工具）
    try {
      // 使用 import.meta.url 解析当前模块路径，构造绝对路径
      const url = new URL(`../../assets/images/${props.src}`, import.meta.url).href
      return url
    } catch (e) {
      console.error('Invalid image path:', e, props.src)
      return ''
    }
  })
</script>
<style lang="scss" scoped></style>
